1
Fundamentos de colecciones asignadas en el montón
AI034Lesson 8
00:00

La arquitectura del crecimiento

Las colecciones de Rust, como Vec<T> y String, no son tipos primitivos; son estructuras definidas en la biblioteca que residen en el módulo std módulo. Esta base determina cómo Rust organiza los datos a través del sistema de módulos y gestiona la memoria mediante RAII (Adquisición de recursos es inicialización). Mientras que los tipos simples viven en la pila, las colecciones utilizan almacenamiento en el montón para un crecimiento dinámico, lo que significa que su memoria debe gestionarse explícitamente a través del Drop trait.

Resolución de módulos y visibilidad

El compilador de Rust mapea el árbol de módulos comenzando desde la raíz del paquete (src/lib.rs o src/main.rs). Una declaración como mod front_of_house; indica al compilador que busque src/front_of_house.rs o src/front_of_house/mod.rs. Usando pub modificadores y reexportaciones (pub use) permite que los datos asignados en el montón se accedan de forma segura a través de rutas idiomáticas.

Árbol de resolución de archivossrc/lib.rssrc/front_of_house.rs- hosting.rspub use crate::front_of_house;let list = Vec::new();🦀?Pitfall: conflicto entre mod.rs y name.rsactiva un error del compilador (Página 183)

Tan pronto como finaliza el alcance de un módulo, el Drop implementación libera automáticamente la memoria del montón: $$Memory_{reclaimed} = \sum Drop(Elementos)$$.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>